--- /dev/null
+/*
+
+ Read/write Alan Map500 Waypoints, Routes and Tracklogs.
+
+ Provides "alanwpr" and "alantrl" formats for gpsbabel.
+ Currently supports OS 2.xx only.
+
+ Copyright (C) 2007 Gunar Megger, 0xff@quantentunnel.de
+ Copyright (C) 2005 Robert Lipe, robertlipe@usa.net
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
+
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <time.h>
+#include "defs.h"
+
+
+#define MYNAME "alan"
+
+#define MAXWPT 1000 /* old 500 */
+
+#define MAXRTE 50 /* old 20 */
+#define MAXWPTINRTE 150 /* old 30 */
+
+#define MAXTRK 8 /* old 5 */
+#define MAXPTINTRK 2500
+
+#define WPT_NAME_LEN 8
+#define WPT_COMMENT_LEN 12
+
+#define RTE_NAME_LEN 8
+#define RTE_COMMENT_LEN 12
+
+#define TRK_NAME_LEN 12
+#define TRK_COMMENT_LEN 13
+
+struct wpthdr {
+ uint32_t id;
+ int16_t num;
+ int16_t next;
+ int16_t idx[MAXWPT];
+ uint8_t used[MAXWPT];
+};
+
+struct wpt {
+ char name[WPT_NAME_LEN];
+ char comment[WPT_COMMENT_LEN];
+ struct {
+ int32_t x; /* degree * 36000 */
+ int32_t y; /* degree * 36000 */
+ } pt;
+ int32_t date;
+ int32_t time;
+ int16_t usecount;
+ int8_t checked;
+ int8_t reserved;
+};
+
+struct rtehdr {
+ uint32_t id;
+ int16_t num;
+ int16_t next;
+ int16_t idx[MAXRTE];
+ uint8_t used[MAXRTE];
+ int16_t rteno;
+};
+
+struct rte {
+ char name[RTE_NAME_LEN];
+ char comment[RTE_COMMENT_LEN];
+ int16_t wptnum;
+ int16_t wptidx[MAXWPTINRTE];
+ int16_t reserved;
+ int32_t date;
+ int32_t time;
+};
+
+struct wprdata {
+ struct wpthdr wpthdr;
+ struct wpt wpt[MAXWPT];
+ struct rtehdr rtehdr;
+ struct rte rte[MAXRTE];
+};
+
+struct trkhdr {
+ int16_t totalpt;
+ int16_t next;
+ char name[TRK_NAME_LEN]; /* 10, null terminated */
+ char comment[TRK_COMMENT_LEN]; /* 12, null terminated */
+ uint8_t reserved[3];
+ uint32_t occupied;
+ uint32_t show;
+ uint32_t fill;
+};
+
+struct loghdr {
+ uint32_t id;
+ int16_t num;
+ int16_t next;
+ int32_t date;
+ int32_t time;
+ struct trkhdr trkhdr[MAXTRK];
+};
+
+struct trklog {
+ struct {
+ int32_t x; /* degree * 36000 */
+ int32_t y; /* degree * 36000 */
+ } pt[MAXPTINTRK];
+ struct {
+ int16_t speed; /* km/h * 200 */
+ int16_t height; /* m * 5 */
+ } sh[MAXPTINTRK];
+};
+
+struct trldata {
+ struct loghdr loghdr;
+ struct trklog trklog[MAXTRK];
+};
+
+#define WPT_HDR_ID 0x5C38A600
+#define RTE_HDR_ID 0xD87F5900
+#define TRL_HDR_ID 0x38CB1200
+
+#define WPT_IDX_NONE -1 /* 0xffff */
+#define WPT_USED 0xff
+#define WPT_UNUSED 0
+#define WPT_CHECKED 1
+#define WPT_UNCHECKED 0
+
+#define RTE_IDX_NONE -1 /* 0xffff */
+#define RTE_USED 0xff
+#define RTE_UNUSED 0
+#define RTE_RTENO_NONE -1
+
+#define TRK_USED 1
+#define TRK_UNUSED 0
+#define TRK_SHOW 1
+#define TRK_HIDE 0
+#define TRK_FILL 1
+#define TRK_WRAP 0
+
+#define MAP500_PT_SCALE 36000.0
+#define pt2deg(P) ((double)(P) / MAP500_PT_SCALE)
+#define deg2pt(D) (int32_t)si_round((double)(D) * MAP500_PT_SCALE)
+
+#define MAP500_ALTITUDE_SCALE 5.0
+#define hgt2m(A) ((double)(A) / MAP500_ALTITUDE_SCALE)
+#define m2hgt(A) (int16_t)si_round((double)(A) * MAP500_ALTITUDE_SCALE)
+
+#define MAP500_SPEED_SCALE 720.0
+#define sp2mps(S) ((double)(S) / MAP500_SPEED_SCALE)
+#define mps2sp(S) (int16_t)si_round((double)(S) * MAP500_SPEED_SCALE)
+
+#define BYTEORDER_TEST 0x04030201 /* 32bit reference value */
+enum {
+ SWAP_NONE = 0x1234, /* map500 regular */
+ SWAP_BYTES = 0x2143, /* bytes swapped */
+ SWAP_WORDS = 0x3412, /* words swapped */
+ SWAP_BOTH = 0x4321 /* words + bytes swapped */
+};
+
+/**************************************************************************/
+
+static gbfile *fin = NULL, *fout = NULL;
+struct wprdata WPR;
+struct trldata TRL;
+
+static arglist_t wpr_args[] = {
+ /*
+ {"os3", &osversion, "Operating system version 3",
+ NULL, ARGTYPE_BOOL, ARGNOMINMAX },
+ */
+ ARG_TERMINATOR
+};
+static arglist_t trl_args[] = {
+ /*
+ {"os3", &osversion, "Operating system version 3",
+ NULL, ARGTYPE_BOOL, ARGNOMINMAX },
+ */
+ ARG_TERMINATOR
+};
+
+/**************************************************************************/
+
+static unsigned int byte_order(void) {
+ unsigned long test = BYTEORDER_TEST;
+ unsigned char *ptr;
+ unsigned int order;
+
+ ptr = (unsigned char *)(&test);
+ order = (ptr[0] << 12) | (ptr[1] << 8) | (ptr[2] << 4) | ptr[3];
+
+ return order;
+}
+
+static void sw_bytes(void *word) {
+ uint8_t *p = word;
+ uint16_t *r = word;
+
+ *r = (uint16_t)(p[0] << 8 | p[1]);
+}
+static void sw_words(void *dword) {
+ uint16_t *p = dword;
+ uint32_t *r = dword;
+
+ *r = (uint32_t)(p[0] << 16 | p[1]);
+}
+static void rev_bytes(void *dword) {
+ uint8_t *p = dword;
+ uint32_t *r = dword;
+
+ *r = (uint32_t)(p[0] << 24 | p[1] << 16 | p[2] << 8 | p[0]);
+}
+
+static void swap_wpthdr(struct wpthdr *wpthdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap32 != NULL ) {
+ swap32( &wpthdr->id );
+ }
+ if ( swap16 != NULL ) {
+ swap16( &wpthdr->num );
+ swap16( &wpthdr->next );
+ for (i=0; i<MAXWPT; i++)
+ swap16( &wpthdr->idx[i] );
+ }
+}
+
+static void swap_wpt(struct wpt *wpt,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ if ( swap16 != NULL ) {
+ swap16( &wpt->usecount );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &wpt->pt.x );
+ swap32( &wpt->pt.y );
+ swap32( &wpt->date );
+ swap32( &wpt->time );
+ }
+}
+
+static void swap_rtehdr(struct rtehdr *rtehdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap16 != NULL) {
+ swap16( &rtehdr->num );
+ swap16( &rtehdr->next );
+ for (i=0; i<MAXRTE; i++)
+ swap16( &rtehdr->idx[i] );
+ swap16( &rtehdr->rteno );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &rtehdr->id );
+ }
+}
+
+static void swap_rte(struct rte *rte,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if (swap16 != NULL) {
+ swap16( &rte->wptnum );
+ for (i=0; i<MAXWPTINRTE; i++)
+ swap16( &rte->wptidx[i] );
+ swap16( &rte->reserved );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &rte->date );
+ swap32( &rte->time );
+ }
+}
+
+static void wpr_swap(struct wprdata *wprdata) {
+ void (*swap16)(void *);
+ void (*swap32)(void *);
+ int i;
+
+ switch( byte_order() ) {
+ case SWAP_NONE: /* same byte oder, LITTLE_ENDIAN */
+ return;
+ break;
+ case SWAP_BOTH: /* swap words and bytes, BIG_ENDIAN */
+ swap16 = sw_bytes;
+ swap32 = rev_bytes;
+ break;
+ case SWAP_WORDS: /* swap words, PDP_ENDIAN */
+ swap16 = NULL;
+ swap32 = sw_words;
+ break;
+ case SWAP_BYTES: /* swap bytes */
+ swap16 = sw_bytes;
+ swap32 = NULL;
+ break;
+ default:
+ return; /* never reached */
+ }
+
+ swap_wpthdr( &(wprdata->wpthdr), swap16, swap32 );
+ for (i=0; i< MAXWPT; i++)
+ swap_wpt( &(wprdata->wpt[i]), swap16, swap32 );
+ swap_rtehdr( &(wprdata->rtehdr), swap16, swap32 );
+ for (i=0; i<MAXRTE; i++)
+ swap_rte( &(wprdata->rte[i]), swap16, swap32 );
+}
+
+static void swap_trkhdr(struct trkhdr *trkhdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ if ( swap16 != NULL ) {
+ swap16( &(trkhdr->totalpt) );
+ swap16( &(trkhdr->next) );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &(trkhdr->occupied) );
+ swap32( &(trkhdr->show) );
+ swap32( &(trkhdr->fill) );
+ }
+}
+
+static void swap_loghdr(struct loghdr *loghdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap16 != NULL ) {
+ swap16( &(loghdr->num) );
+ swap16( &(loghdr->next) );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &(loghdr->id) );
+ swap32( &(loghdr->date) );
+ swap32( &(loghdr->time) );
+ }
+ for (i=0; i>MAXTRK; i++)
+ swap_trkhdr( &(loghdr->trkhdr[i]), swap16, swap32 );
+}
+
+static void swap_trklog(struct trklog *trklog,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap16 != NULL ) {
+ for (i=0; i<MAXPTINTRK; i++) {
+ swap16( &(trklog->sh[i].speed) );
+ swap16( &(trklog->sh[i].height) );
+ }
+ }
+ if ( swap32 != NULL ) {
+ for (i=0; i<MAXPTINTRK; i++) {
+ swap32( &(trklog->pt[i].x) );
+ swap32( &(trklog->pt[i].y) );
+ }
+ }
+}
+
+static void trl_swap(struct trldata *trldata) {
+ void (*swap16)(void *);
+ void (*swap32)(void *);
+ int i;
+
+ switch( byte_order() ) {
+ case SWAP_NONE: /* same byte oder, LITTLE_ENDIAN */
+ return;
+ break;
+ case SWAP_BOTH: /* swap words and bytes, BIG_ENDIAN */
+ swap16 = sw_bytes;
+ swap32 = rev_bytes;
+ break;
+ case SWAP_WORDS: /* swap words, PDP_ENDIAN */
+ swap16 = NULL;
+ swap32 = sw_words;
+ break;
+ case SWAP_BYTES: /* swap bytes */
+ swap16 = sw_bytes;
+ swap32 = NULL;
+ break;
+ default:
+ return; /* never reached */
+ }
+
+ swap_loghdr( &(trldata->loghdr), swap16, swap32);
+ for (i=0; i<MAXTRK; i++)
+ swap_trklog( &(trldata->trklog[i]), swap16, swap32);
+}
+
+
+/**************************************************************************/
+
+static void str2lab(char *dest, char *src, size_t len, char *fmt, int n) {
+ int i,j;
+
+ j = 0;
+ if (src != NULL) {
+ for (i=0; i<len && src[i] != '\0'; i++) {
+ if (isprint(src[i]))
+ dest[j++] = src[i];
+ }
+ }
+ if (j == 0 && fmt != NULL) {
+ snprintf(dest, len, fmt, n);
+ j = strlen(dest);
+ }
+ if ( j < len )
+ memset(dest+j, ' ', len-j);
+}
+
+static void pack_time(time_t t, int32_t *date, int32_t *time) {
+ struct tm *tm;
+
+ tm = gmtime(&t);
+ *date = tm->tm_mday | ((tm->tm_mon+1)<<8) | ((tm->tm_year+1900)<<16);
+ *time = t % 86400;
+}
+
+static time_t unpack_time(int32_t date, int32_t time) {
+ time_t result;
+ short year, month, day;
+ static int m_to_d[12] =
+ {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
+
+ year = (date >> 16) & 0xffff;
+ month = (date >> 8) & 0xff; /* 1-12 */
+ day = date & 0xff; /* 1-31 */
+
+ month -= 1; /* fit struct tm */
+ year += month / 12;
+
+ if (month < 0) {
+ year -= 1;
+ month += 12;
+ }
+ result = (year - 1970) * 365 + m_to_d[month];
+ if (month <= 1)
+ year -= 1;
+ result += (year - 1968) / 4;
+ result -= (year - 1900) / 100;
+ result += (year - 1600) / 400;
+ result += day;
+ result -= 1;
+ result *= 86400;
+ result += time; /* map500 time is inseconds of the day */
+
+ return result;
+}
+
+/**************************************************************************/
+
+static waypoint * get_wpt(struct wprdata *wprdata, unsigned n) {
+ struct wpthdr *wpthdr;
+ struct wpt *wpt;
+ int j, idx;
+ waypoint *WP;
+
+ wpthdr = &(wprdata->wpthdr);
+ idx = wpthdr->idx[n];
+
+ if (idx == WPT_IDX_NONE || wpthdr->used[idx] == WPT_UNUSED)
+ return NULL;
+ wpt = &(wprdata->wpt[idx]);
+
+ WP = waypt_new();
+ WP->latitude = -pt2deg(wpt->pt.y);
+ WP->longitude = pt2deg(wpt->pt.x);
+ WP->creation_time = unpack_time(wpt->date, wpt->time);
+ for(j=WPT_NAME_LEN-1; j >= 0 && wpt->name[j] == ' '; j--) {};
+ WP->shortname = xstrndup(wpt->name,j+1);
+ for(j=WPT_COMMENT_LEN-1; j >= 0 && wpt->comment[j] == ' '; j--) {};
+ if (j >= 0)
+ WP->description = xstrndup(wpt->comment, j+1);
+ else
+ WP->description = xstrdup("");
+ WP->notes = xstrdup("");
+
+ return WP;
+}
+
+static void wpr_read(void) {
+ struct wprdata wprdata;
+ struct rtehdr *rtehdr;
+ struct rte *rte;
+ int i, j, idx;
+ waypoint *WP;
+ route_head *RT;
+
+ if ( gbfread(&wprdata, sizeof(struct wprdata), 1, fin) != 1 )
+ fatal(MYNAME ": Read error on %s\n", fin->name);
+ wpr_swap(&wprdata);
+ if ( wprdata.wpthdr.id != WPT_HDR_ID ||
+ wprdata.rtehdr.id != RTE_HDR_ID )
+ fatal(MYNAME ": %s is not in Alan .wpr format.\n", fin->name);
+
+ /* waypoints */
+ for (i=0; i<MAXWPT; i++) {
+ WP = get_wpt(&wprdata, i);
+ if ( WP != NULL )
+ waypt_add(WP);
+ }
+
+ /* routes */
+ rtehdr = &(wprdata.rtehdr);
+ for (i=0; i<MAXRTE; i++) {
+ idx = rtehdr->idx[i];
+ if (idx == RTE_IDX_NONE || rtehdr->used[idx] == RTE_UNUSED)
+ continue;
+ rte = &(wprdata.rte[idx]);
+
+ RT = route_head_alloc();
+ RT->rte_num = i;
+ for(j=RTE_NAME_LEN-1; j >= 0 && rte->name[j] == ' '; j--) {};
+ RT->rte_name = xstrndup(rte->name,j+1);
+ for(j=RTE_COMMENT_LEN-1; j >= 0 && rte->comment[j] == ' '; j--) {};
+ if (j >= 0)
+ RT->rte_desc = xstrndup(rte->comment,j+1);
+ else
+ RT->rte_desc = xstrdup("");
+ RT->rte_waypt_ct = rte->wptnum;
+ route_add_head(RT);
+
+ /* route points */
+ for(j=0; j<rte->wptnum; j++) {
+ WP = get_wpt(&wprdata, rte->wptidx[j]);
+ if ( WP != NULL )
+ route_add_wpt(RT, WP);
+ }
+ }
+}
+
+static void trl_read(void) {
+ struct trldata trldata;
+ struct trkhdr *trkhdr;
+ struct trklog *trklog;
+ waypoint *WP;
+ route_head *TL;
+ int i, j;
+
+ for (i=0; i<MAXTRK; i+=2) {
+ gbfseek(fin, 0x10000 * (i/2), SEEK_SET);
+ if ( gbfread( &(trldata.trklog[i]), sizeof(struct trklog), 2, fin) != 2)
+ fatal(MYNAME ": Read error on %s\n", fin->name);
+ }
+ gbfseek(fin, 0x10000 * MAXTRK/2, SEEK_SET);
+ if ( gbfread( &(trldata.loghdr), sizeof(struct loghdr), 1, fin) != 1)
+ fatal(MYNAME ": Read error on %s\n", fin->name);
+ trl_swap(&trldata);
+ if ( trldata.loghdr.id != TRL_HDR_ID )
+ fatal(MYNAME ": %s is not in Alan .trl format.\n", fin->name);
+
+ for(i=0; i<MAXTRK; i++) {
+ /* track header */
+ trkhdr = &(trldata.loghdr.trkhdr[i]);
+ if (trkhdr->occupied == TRK_UNUSED)
+ continue;
+ TL = route_head_alloc();
+ for(j=TRK_NAME_LEN-1;
+ j >= 0 && (trkhdr->name[j] == ' ' || trkhdr->name[j] == '\0');
+ j--) {};
+ TL->rte_name = xstrndup(trkhdr->name,j+1);
+ for(j=TRK_COMMENT_LEN-1;
+ j >= 0 && (trkhdr->comment[j] == ' ' || trkhdr->comment[j] == '\0');
+ j--) {};
+ TL->rte_desc = xstrndup(trkhdr->comment,j+1);
+ TL->rte_num = i;
+ TL->rte_waypt_ct = trkhdr->totalpt;
+ track_add_head(TL);
+
+ /* track points */
+ trklog = &(trldata.trklog[i]);
+ for(j=0; j<trkhdr->totalpt; j++) {
+ WP = waypt_new();
+ WP->latitude = -pt2deg(trklog->pt[j].y);
+ WP->longitude = pt2deg(trklog->pt[j].x);
+ WP->altitude = hgt2m(trklog->sh[j].height);
+ if ( trklog->sh[j].speed >= 0 )
+ WP->speed = sp2mps(trklog->sh[j].speed);
+ else /* bad speed < 0 - set to 0.0 */
+ WP->speed = unknown_speed;
+ track_add_wpt(TL, WP);
+ }
+ }
+}
+
+/**************************************************************************/
+
+static int find_wpt(struct wprdata *wprdata, const waypoint *WP) {
+ struct wpt pattern, *wpt;
+ int i, wpt_idx;
+
+ str2lab(pattern.name, WP->shortname, WPT_NAME_LEN, NULL, 0);
+ pattern.pt.x = deg2pt(WP->longitude);
+ pattern.pt.y = deg2pt(-WP->latitude);
+
+ wpt = wprdata->wpt;
+ for (i=0; i<MAXWPT; i++) {
+ wpt_idx = wprdata->wpthdr.idx[i];
+ if ( wpt_idx == WPT_IDX_NONE ||
+ wprdata->wpthdr.used[wpt_idx] == WPT_UNUSED )
+ continue;
+ if ( strncmp( wpt[wpt_idx].name, pattern.name, WPT_NAME_LEN) == 0 &&
+ wpt[wpt_idx].pt.x == pattern.pt.x &&
+ wpt[wpt_idx].pt.y == pattern.pt.y )
+ return i;
+ }
+
+ return -1;
+}
+
+static int add_wpt(struct wprdata *wprdata, const waypoint *WP,int isroute) {
+ struct wpthdr *wpthdr;
+ int hdr_idx, wpt_idx;
+ struct wpt *wpt;
+ int i;
+
+ wpthdr = &(wprdata->wpthdr);
+
+ hdr_idx = find_wpt(wprdata, WP);
+ if ( hdr_idx >= 0 ) {
+ /* duplicate waypoint */
+ if (isroute) {
+ wpt = &(wprdata->wpt[wpthdr->idx[hdr_idx]]);
+ wpt->usecount ++;
+ }
+ /*
+ warning(MYNAME ": using duplicate waypoint '%s' at (%f°, %f°)\n",
+ WP->shortname, WP->latitude, WP->longitude);
+ */
+ return hdr_idx;
+ }
+
+ for (i=0; i<MAXWPT && wpthdr->idx[i] != WPT_IDX_NONE; i++) { }
+ hdr_idx = i;
+ for (i=0; i<MAXWPT && wpthdr->used[i] != WPT_UNUSED; i++) { }
+ wpt_idx = i;
+ if (wpthdr->num >= MAXWPT || hdr_idx >= MAXWPT || wpt_idx >= MAXWPT )
+ fatal(MYNAME ": Can't store more than %u waypoints\n", MAXWPT);
+
+ wpt = &(wprdata->wpt[wpt_idx]);
+ str2lab(wpt->name, WP->shortname, WPT_NAME_LEN, "W%05d", wpt_idx);
+ str2lab(wpt->comment, WP->description, WPT_COMMENT_LEN, NULL, 0);
+ wpt->pt.x = deg2pt(WP->longitude);
+ wpt->pt.y = deg2pt(-WP->latitude);
+ wpt->usecount = isroute ? 1 : 0;
+ wpt->checked = isroute ? 0 : 1;
+ wpt->reserved = 0;
+ pack_time(WP->creation_time, &(wpt->date), &(wpt->time));
+
+ wpthdr->idx[hdr_idx] = wpt_idx;
+ wpthdr->used[wpt_idx] = WPT_USED;
+ wpthdr->num++;
+ wpthdr->next++;
+ if (wpthdr->next >= MAXWPT) /* overrun */
+ wpthdr->next = 0;
+
+ return hdr_idx;
+}
+
+static void wpr_waypoint(const waypoint *WP) {
+ add_wpt(&WPR, WP, 0);
+}
+
+static void wpr_route_hdr(const route_head *RT) {
+ struct rtehdr *rtehdr;
+ int hdr_idx, rte_idx;
+ struct rte *rte;
+ int i;
+
+ rtehdr = &(WPR.rtehdr);
+ for (i=0; i<MAXRTE && rtehdr->idx[i] != RTE_IDX_NONE; i++) { }
+ hdr_idx = i;
+ for (i=0; i<MAXRTE && rtehdr->used[i] != RTE_UNUSED; i++) { }
+ rte_idx = i;
+ if (rtehdr->num >= MAXRTE || hdr_idx >= MAXRTE || rte_idx >= MAXRTE )
+ fatal(MYNAME ": Can't store more than %u routes", MAXRTE);
+
+ rte = &(WPR.rte[rte_idx]);
+ str2lab(rte->name, RT->rte_name, RTE_NAME_LEN, "R%03d", rte_idx);
+ str2lab(rte->comment, RT->rte_desc, RTE_COMMENT_LEN, NULL, 0);
+ pack_time(time(NULL), &(rte->date), &(rte->time));
+
+ rtehdr->idx[hdr_idx] = rte_idx;
+ rtehdr->used[rte_idx] = RTE_USED;
+ rtehdr->num++;
+ rtehdr->next++;
+ if (rtehdr->next >= MAXRTE) /* overrun */
+ rtehdr->next = 0;
+
+ /* if you want the new route to be active, uncomment the next line */
+ /* rtehdr->rteno = rte_idx; */
+}
+
+static void wpr_route_wpt(const waypoint *WP) {
+ struct rte *rte;
+ int wpt_idx;
+
+ rte = &(WPR.rte[WPR.rtehdr.num -1]);
+ if ( rte->wptnum >= MAXWPTINRTE )
+ fatal(MYNAME ": Can't store more than %u waypoints per route", MAXWPTINRTE);
+
+ wpt_idx = add_wpt(&WPR, WP, 1);
+
+ rte->wptidx[rte->wptnum] = wpt_idx;
+ rte->wptnum ++;
+}
+
+static void wpr_route_trl(const route_head *RT) {
+ /* should we do some final sanity checks? */
+}
+
+static void wpr_write(void) {
+ int i;
+
+ WPR.wpthdr.id = WPT_HDR_ID;
+ WPR.wpthdr.num = WPR.wpthdr.next = 0;
+ for (i=0; i<MAXWPT; i++) {
+ WPR.wpthdr.idx[i] = WPT_IDX_NONE;
+ WPR.wpthdr.used[i] = WPT_UNUSED;
+ }
+ memset(WPR.wpt, 0, MAXWPT * sizeof(struct wpt));
+ WPR.rtehdr.id = RTE_HDR_ID;
+ WPR.rtehdr.num = WPR.rtehdr.next = 0;
+ for (i=0; i<MAXRTE; i++) {
+ WPR.rtehdr.idx[i] = RTE_IDX_NONE;
+ WPR.rtehdr.used[i] = RTE_UNUSED;
+ }
+ WPR.rtehdr.rteno = RTE_RTENO_NONE;
+ memset(WPR.rte, 0, MAXRTE * sizeof(struct rte));
+
+ waypt_disp_all(wpr_waypoint);
+ route_disp_all(wpr_route_hdr, wpr_route_trl, wpr_route_wpt);
+
+ wpr_swap(&WPR);
+ if ( gbfwrite(&WPR, sizeof(struct wprdata), 1, fout) != 1 )
+ fatal(MYNAME ": Write error on %s\n", fout->name);
+}
+
+/**************************************************************************/
+
+static void trl_track_hdr(const route_head *TL) {
+ struct trkhdr *trkhdr;
+ int idx, l;
+
+ trkhdr = TRL.loghdr.trkhdr;
+
+ for (idx=0; idx< MAXTRK && trkhdr[idx].occupied != TRK_UNUSED; idx++) {};
+ if (idx >= MAXTRK)
+ fatal(MYNAME ": Can't store more than %u tracklogs", MAXTRK);
+
+ if ( TL->rte_name != NULL )
+ strncpy(trkhdr[idx].name, TL->rte_name, TRK_NAME_LEN);
+ if ( *(trkhdr[idx].name) == '\0' )
+ sprintf(trkhdr[idx].name, "T%03d", idx);
+ trkhdr[idx].name[TRK_NAME_LEN-1] = '\0';
+
+ if ( TL->rte_desc != NULL ) {
+ strncpy(trkhdr[idx].comment, TL->rte_desc, TRK_COMMENT_LEN);
+ l = strlen(TL->rte_desc);
+ if ( l < TRK_COMMENT_LEN-1 )
+ memset(trkhdr[idx].comment + l, ' ', TRK_COMMENT_LEN - l);
+ }
+ trkhdr[idx].comment[TRK_COMMENT_LEN-1] = '\0';
+
+ trkhdr[idx].comment[TRK_COMMENT_LEN-1] = '\0';
+ trkhdr[idx].occupied = TRK_USED;
+ trkhdr[idx].totalpt = 0;
+ trkhdr[idx].next = 0;
+
+ TRL.loghdr.num = idx;
+}
+
+static void trl_track_wpt(const waypoint *WP) {
+ struct trklog *trklog;
+ struct trkhdr *trkhdr;
+ int trk_idx, log_idx;
+
+ trk_idx = TRL.loghdr.num;
+
+ trkhdr = &(TRL.loghdr.trkhdr[trk_idx]);
+ if ( trkhdr->totalpt >= MAXPTINTRK )
+ fatal(MYNAME ": Can't store more than %u points per track", MAXPTINTRK);
+ log_idx = trkhdr->next;
+
+ trklog = &(TRL.trklog[trk_idx]);
+ trklog->pt[log_idx].x = deg2pt( WP->longitude);
+ trklog->pt[log_idx].y = deg2pt(-WP->latitude);
+ if ( WP->speed != unknown_speed )
+ trklog->sh[log_idx].speed = mps2sp(WP->speed);
+ if ( WP->altitude != unknown_alt )
+ trklog->sh[log_idx].height = m2hgt(WP->altitude);
+
+ trkhdr->totalpt ++;
+ trkhdr->next = trkhdr->totalpt;
+}
+
+static void trl_track_tlr(const route_head *TL) {
+ struct trkhdr *trkhdr;
+ int trk_idx;
+
+ trk_idx = TRL.loghdr.num;
+ trkhdr = &(TRL.loghdr.trkhdr[trk_idx]);
+
+ if ( trkhdr->totalpt == 0 )
+ trkhdr->occupied = TRK_UNUSED;
+
+ TRL.loghdr.num = -1;
+}
+
+static void trl_write(void) {
+ struct trkhdr *trkhdr;
+ void *buf;
+ int i;
+ size_t fill;
+
+ TRL.loghdr.id = TRL_HDR_ID;
+ TRL.loghdr.num = TRL.loghdr.next = -1;
+ TRL.loghdr.date = TRL.loghdr.time = 0;
+ for (i=0; i<MAXTRK; i++) {
+ trkhdr = &(TRL.loghdr.trkhdr[i]);
+ trkhdr->totalpt = 0;
+ trkhdr->next = 0;
+ memset(trkhdr->name, 0, TRK_NAME_LEN);
+ memset(trkhdr->comment, ' ', TRK_COMMENT_LEN);
+ trkhdr->comment[TRK_COMMENT_LEN-1] = '\0';
+ trkhdr->occupied = TRK_UNUSED;
+ trkhdr->show = TRK_HIDE;
+ trkhdr->fill = TRK_FILL;
+ }
+ memset(TRL.trklog, 0xff, sizeof(struct trklog) * MAXTRK);
+
+ track_disp_all(trl_track_hdr, trl_track_tlr, trl_track_wpt);
+
+ trl_swap(&TRL);
+
+ fill = 0x10000 - 2 * sizeof(struct trklog);
+ buf = xmalloc(fill);
+ if (buf == NULL)
+ fatal(MYNAME ": Not enough memory\n");
+ memset(buf, 0xff, fill);
+
+ for (i=0; i<MAXTRK; i+=2) {
+ if (gbfwrite(&(TRL.trklog[i]), sizeof(struct trklog), 2, fout) != 2 ||
+ gbfwrite(buf, fill, 1, fout) != 1 )
+ fatal(MYNAME ": Write error on %s\n", fout->name);
+ }
+ xfree(buf);
+
+ fill = 0x1000 - sizeof(struct loghdr);
+ buf = xmalloc(fill);
+ if (buf == NULL)
+ fatal(MYNAME ": Not enough memory\n");
+ memset(buf, 0xff, fill);
+
+ if ( gbfwrite(&(TRL.loghdr), sizeof(struct loghdr), 1, fout) != 1 ||
+ gbfwrite(buf, fill, 1, fout) != 1 )
+ fatal(MYNAME ": Write error on %s\n", fout->name);
+ xfree(buf);
+}
+
+/**************************************************************************/
+
+static void alan_rd_init(const char *fname) {
+ fin = gbfopen(fname, "r", MYNAME);
+}
+
+static void alan_rd_deinit(void) {
+ gbfclose(fin);
+ fin = NULL;
+}
+
+
+static void alan_wr_init(const char *fname) {
+ fout = gbfopen(fname, "w", MYNAME);
+}
+
+static void alan_wr_deinit(void) {
+ gbfclose(fout);
+ fout = NULL;
+}
+
+
+static void alan_exit(void) {
+ return;
+}
+
+/**************************************************************************/
+
+ff_vecs_t alanwpr_vecs = {
+ ff_type_file,
+ {
+ ff_cap_read | ff_cap_write /* waypoints */,
+ ff_cap_none /* tracks */,
+ ff_cap_read | ff_cap_write /* routes */
+ },
+ alan_rd_init,
+ alan_wr_init,
+ alan_rd_deinit,
+ alan_wr_deinit,
+ wpr_read,
+ wpr_write,
+ alan_exit,
+ wpr_args,
+ CET_CHARSET_ASCII, 0 /* ascii is the expected character set */
+ /* not fixed, can be changed through command
+ line parameter */
+};
+
+ff_vecs_t alantrl_vecs = {
+ ff_type_file,
+ {
+ ff_cap_none /* waypoints */,
+ ff_cap_read | ff_cap_write /* tracks */,
+ ff_cap_none /* routes */
+ },
+ alan_rd_init,
+ alan_wr_init,
+ alan_rd_deinit,
+ alan_wr_deinit,
+ trl_read,
+ trl_write,
+ alan_exit,
+ trl_args,
+ CET_CHARSET_ASCII, 0 /* ascii is the expected character set */
+ /* not fixed, can be changed through command
+ line parameter */
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+ version="1.0"
+creator="GPSBabel - http://www.gpsbabel.org"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://www.topografix.com/GPX/1/0"
+xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<bounds minlat="28.649722222" minlon="-17.973583333" maxlat="28.706111111" maxlon="-17.926500000"/>
+<trk>
+ <name>FH-DRIVE</name>
+<trkseg>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>654.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>656.000000</ele>
+ <speed>0.527778</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>657.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.948972222">
+ <ele>658.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>658.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>661.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>659.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>660.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>657.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>656.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>655.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>658.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>657.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>659.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>658.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>660.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>661.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>660.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>657.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>657.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>656.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.948972222">
+ <ele>658.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>657.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949027778">
+ <ele>661.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949138889">
+ <ele>659.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697750000" lon="-17.949333333">
+ <ele>654.800000</ele>
+ <speed>2.000000</speed>
+</trkpt>
+<trkpt lat="28.697750000" lon="-17.949555556">
+ <ele>650.200000</ele>
+ <speed>2.388889</speed>
+</trkpt>
+<trkpt lat="28.697638889" lon="-17.949527778">
+ <ele>645.800000</ele>
+ <speed>1.888889</speed>
+</trkpt>
+<trkpt lat="28.697444444" lon="-17.949305556">
+ <ele>642.600000</ele>
+ <speed>2.861111</speed>
+</trkpt>
+<trkpt lat="28.697138889" lon="-17.949138889">
+ <ele>645.000000</ele>
+ <speed>3.194444</speed>
+</trkpt>
+<trkpt lat="28.696805556" lon="-17.948972222">
+ <ele>647.400000</ele>
+ <speed>4.083333</speed>
+</trkpt>
+<trkpt lat="28.696527778" lon="-17.949027778">
+ <ele>647.800000</ele>
+ <speed>3.805556</speed>
+</trkpt>
+<trkpt lat="28.696277778" lon="-17.949222222">
+ <ele>646.600000</ele>
+ <speed>2.833333</speed>
+</trkpt>
+<trkpt lat="28.696333333" lon="-17.949444444">
+ <ele>642.200000</ele>
+ <speed>3.055556</speed>
+</trkpt>
+<trkpt lat="28.696611111" lon="-17.949500000">
+ <ele>637.800000</ele>
+ <speed>2.722222</speed>
+</trkpt>
+<trkpt lat="28.696805556" lon="-17.949638889">
+ <ele>631.000000</ele>
+ <speed>2.944444</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950000000">
+ <ele>625.000000</ele>
+ <speed>2.666667</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950194444">
+ <ele>621.800000</ele>
+ <speed>3.333333</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950194444">
+ <ele>618.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950194444">
+ <ele>615.600000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+ <name>30-12-05</name>
+ <desc>PIRATENBUCH</desc>
+<number>1</number>
+<trkseg>
+<trkpt lat="28.697861111" lon="-17.949583333">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.949555556">
+ <ele>653.000000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.698027778" lon="-17.949555556">
+ <ele>651.000000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.698083333" lon="-17.949527778">
+ <ele>654.200000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.949527778">
+ <ele>650.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.949527778">
+ <ele>648.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698138889" lon="-17.949527778">
+ <ele>651.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698250000" lon="-17.949555556">
+ <ele>649.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.698333333" lon="-17.949638889">
+ <ele>644.400000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.698416667" lon="-17.949694444">
+ <ele>645.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.949694444">
+ <ele>647.000000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.698611111" lon="-17.949666667">
+ <ele>645.600000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.949694444">
+ <ele>643.400000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.949722222">
+ <ele>639.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.698861111" lon="-17.949750000">
+ <ele>639.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.698861111" lon="-17.949777778">
+ <ele>640.400000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.698888889" lon="-17.949805556">
+ <ele>647.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698944444" lon="-17.949777778">
+ <ele>649.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.699027778" lon="-17.949722222">
+ <ele>648.800000</ele>
+ <speed>1.722222</speed>
+</trkpt>
+<trkpt lat="28.699083333" lon="-17.949666667">
+ <ele>646.200000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.699083333" lon="-17.949694444">
+ <ele>642.800000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.699111111" lon="-17.949666667">
+ <ele>639.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699166667" lon="-17.949611111">
+ <ele>635.400000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.699194444" lon="-17.949527778">
+ <ele>631.400000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.699250000" lon="-17.949416667">
+ <ele>625.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.699277778" lon="-17.949361111">
+ <ele>623.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699277778" lon="-17.949361111">
+ <ele>624.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699305556" lon="-17.949361111">
+ <ele>624.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699277778" lon="-17.949361111">
+ <ele>625.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.949305556">
+ <ele>625.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.949361111">
+ <ele>623.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699305556" lon="-17.949500000">
+ <ele>626.000000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.699361111" lon="-17.949638889">
+ <ele>625.800000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.949750000">
+ <ele>629.000000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.949777778">
+ <ele>628.200000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.949916667">
+ <ele>626.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.949972222">
+ <ele>625.800000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.699500000" lon="-17.950027778">
+ <ele>624.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.950138889">
+ <ele>622.600000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.699583333" lon="-17.950166667">
+ <ele>621.400000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699666667" lon="-17.950222222">
+ <ele>623.200000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.950250000">
+ <ele>623.000000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.699833333" lon="-17.950250000">
+ <ele>621.200000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.950277778">
+ <ele>619.400000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.950250000">
+ <ele>621.000000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699944444" lon="-17.950277778">
+ <ele>621.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.950444444">
+ <ele>622.200000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.700027778" lon="-17.950527778">
+ <ele>622.200000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.700111111" lon="-17.950444444">
+ <ele>625.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.950388889">
+ <ele>618.400000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.700222222" lon="-17.950333333">
+ <ele>617.200000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.700305556" lon="-17.950277778">
+ <ele>615.200000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.700388889" lon="-17.950250000">
+ <ele>616.200000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.950250000">
+ <ele>616.000000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.950222222">
+ <ele>613.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.950111111">
+ <ele>609.200000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.950083333">
+ <ele>607.600000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950138889">
+ <ele>604.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.950166667">
+ <ele>606.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950250000">
+ <ele>609.600000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950333333">
+ <ele>614.200000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.950444444">
+ <ele>618.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.950527778">
+ <ele>619.400000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.950583333">
+ <ele>621.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.950583333">
+ <ele>623.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.950694444">
+ <ele>625.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.950750000">
+ <ele>629.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.950805556">
+ <ele>628.600000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.950833333">
+ <ele>624.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.700694444" lon="-17.950861111">
+ <ele>625.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700694444" lon="-17.950833333">
+ <ele>623.800000</ele>
+ <speed>0.583333</speed>
+</trkpt>
+<trkpt lat="28.700694444" lon="-17.950805556">
+ <ele>607.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950861111">
+ <ele>597.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950944444">
+ <ele>613.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.951000000">
+ <ele>621.400000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.951083333">
+ <ele>618.600000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.951166667">
+ <ele>618.200000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.951166667">
+ <ele>615.800000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951194444">
+ <ele>615.600000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951138889">
+ <ele>614.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951138889">
+ <ele>623.000000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951138889">
+ <ele>630.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951111111">
+ <ele>626.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951111111">
+ <ele>624.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700916667" lon="-17.951111111">
+ <ele>627.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701027778" lon="-17.951138889">
+ <ele>627.000000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951166667">
+ <ele>625.200000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.701138889" lon="-17.951166667">
+ <ele>624.400000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.701138889" lon="-17.951166667">
+ <ele>624.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951166667">
+ <ele>623.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951166667">
+ <ele>621.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951138889">
+ <ele>618.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951138889">
+ <ele>614.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701194444" lon="-17.951111111">
+ <ele>618.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701305556" lon="-17.951138889">
+ <ele>621.200000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.701444444" lon="-17.951222222">
+ <ele>624.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.701583333" lon="-17.951305556">
+ <ele>623.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701750000" lon="-17.951361111">
+ <ele>626.600000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.701916667" lon="-17.951416667">
+ <ele>627.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702055556" lon="-17.951472222">
+ <ele>626.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.702194444" lon="-17.951527778">
+ <ele>626.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702305556" lon="-17.951583333">
+ <ele>628.800000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702416667" lon="-17.951611111">
+ <ele>629.200000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.702555556" lon="-17.951611111">
+ <ele>629.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.702638889" lon="-17.951583333">
+ <ele>628.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.702694444" lon="-17.951555556">
+ <ele>627.400000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.702777778" lon="-17.951472222">
+ <ele>626.600000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.702861111" lon="-17.951388889">
+ <ele>626.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.702944444" lon="-17.951277778">
+ <ele>626.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.703055556" lon="-17.951222222">
+ <ele>628.000000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703166667" lon="-17.951222222">
+ <ele>629.600000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.951277778">
+ <ele>629.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703361111" lon="-17.951388889">
+ <ele>629.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703388889" lon="-17.951500000">
+ <ele>627.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703416667" lon="-17.951638889">
+ <ele>627.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703444444" lon="-17.951777778">
+ <ele>626.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703472222" lon="-17.951916667">
+ <ele>625.600000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.951972222">
+ <ele>625.200000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.951916667">
+ <ele>621.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.951944444">
+ <ele>613.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703527778" lon="-17.951972222">
+ <ele>618.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703138889" lon="-17.952277778">
+ <ele>623.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702888889" lon="-17.952722222">
+ <ele>619.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.953194444">
+ <ele>606.200000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702527778" lon="-17.953694444">
+ <ele>596.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702500000" lon="-17.954000000">
+ <ele>595.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.702166667" lon="-17.954361111">
+ <ele>596.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701861111" lon="-17.954750000">
+ <ele>591.200000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.701638889" lon="-17.955222222">
+ <ele>572.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701305556" lon="-17.955583333">
+ <ele>555.200000</ele>
+ <speed>0.611111</speed>
+</trkpt>
+<trkpt lat="28.701000000" lon="-17.955972222">
+ <ele>550.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.956250000">
+ <ele>542.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.700222222" lon="-17.956527778">
+ <ele>545.000000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.699861111" lon="-17.956861111">
+ <ele>532.200000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699638889" lon="-17.957305556">
+ <ele>521.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699666667" lon="-17.957833333">
+ <ele>513.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699777778" lon="-17.958333333">
+ <ele>504.800000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.700111111" lon="-17.958694444">
+ <ele>503.400000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.958972222">
+ <ele>501.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.959388889">
+ <ele>501.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.700305556" lon="-17.959416667">
+ <ele>495.400000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.959694444">
+ <ele>487.000000</ele>
+ <speed>1.611111</speed>
+</trkpt>
+<trkpt lat="28.699611111" lon="-17.960083333">
+ <ele>481.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.960500000">
+ <ele>475.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.698861111" lon="-17.960500000">
+ <ele>475.200000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.960805556">
+ <ele>467.800000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.961222222">
+ <ele>458.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.699222222" lon="-17.961361111">
+ <ele>457.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.699694444" lon="-17.961416667">
+ <ele>448.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699638889" lon="-17.961944444">
+ <ele>442.800000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699527778" lon="-17.962444444">
+ <ele>433.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.699527778" lon="-17.962972222">
+ <ele>429.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.963444444">
+ <ele>424.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.698944444" lon="-17.963722222">
+ <ele>411.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.698527778" lon="-17.963944444">
+ <ele>404.000000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.963750000">
+ <ele>395.800000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.697694444" lon="-17.963500000">
+ <ele>390.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.697277778" lon="-17.963750000">
+ <ele>386.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.696888889" lon="-17.963472222">
+ <ele>385.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.696666667" lon="-17.963000000">
+ <ele>391.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.696555556" lon="-17.963500000">
+ <ele>377.800000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.696583333" lon="-17.964027778">
+ <ele>370.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.696833333" lon="-17.964472222">
+ <ele>371.000000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.697027778" lon="-17.964944444">
+ <ele>363.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.697333333" lon="-17.965333333">
+ <ele>356.200000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.697694444" lon="-17.965694444">
+ <ele>349.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.698027778" lon="-17.966055556">
+ <ele>344.800000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.966583333">
+ <ele>341.800000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.698166667" lon="-17.967111111">
+ <ele>336.000000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.698361111" lon="-17.967583333">
+ <ele>320.600000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.968083333">
+ <ele>310.800000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.698583333" lon="-17.968611111">
+ <ele>299.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>290.400000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>284.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>283.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>283.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698722222" lon="-17.968666667">
+ <ele>281.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698722222" lon="-17.968666667">
+ <ele>276.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698750000" lon="-17.968722222">
+ <ele>277.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.968194444">
+ <ele>292.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699027778" lon="-17.967750000">
+ <ele>278.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.699138889" lon="-17.967805556">
+ <ele>270.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699194444" lon="-17.968166667">
+ <ele>252.200000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.967833333">
+ <ele>246.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.967805556">
+ <ele>223.400000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.699638889" lon="-17.967972222">
+ <ele>209.200000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.968333333">
+ <ele>177.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.968277778">
+ <ele>193.800000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.699777778" lon="-17.968250000">
+ <ele>181.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699805556" lon="-17.968305556">
+ <ele>175.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699805556" lon="-17.968555556">
+ <ele>179.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.968805556">
+ <ele>168.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.969083333">
+ <ele>155.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699861111" lon="-17.969277778">
+ <ele>124.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699388889" lon="-17.969222222">
+ <ele>126.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699861111" lon="-17.969277778">
+ <ele>123.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700361111" lon="-17.969305556">
+ <ele>125.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.969388889">
+ <ele>90.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.699750000" lon="-17.969583333">
+ <ele>101.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699833333" lon="-17.969916667">
+ <ele>109.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700055556" lon="-17.970027778">
+ <ele>73.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700083333" lon="-17.970388889">
+ <ele>66.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700250000" lon="-17.970194444">
+ <ele>56.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.970194444">
+ <ele>44.800000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.970638889">
+ <ele>44.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700083333" lon="-17.971250000">
+ <ele>22.800000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.971194444">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700027778" lon="-17.971277778">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701166667" lon="-17.971194444">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.971055556">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700361111" lon="-17.971388889">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.971416667">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.971416667">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.971361111">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.971416667">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.971361111">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700416667" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.971305556">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700250000" lon="-17.971722222">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700416667" lon="-17.971444444">
+ <ele>117.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.971250000">
+ <ele>54.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.970500000">
+ <ele>41.000000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.969972222">
+ <ele>45.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.970027778">
+ <ele>40.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.970555556">
+ <ele>45.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700944444" lon="-17.970777778">
+ <ele>43.400000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.701333333" lon="-17.970750000">
+ <ele>49.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701388889" lon="-17.970333333">
+ <ele>69.800000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.701611111" lon="-17.970416667">
+ <ele>101.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.701750000" lon="-17.970472222">
+ <ele>115.200000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.701916667" lon="-17.970111111">
+ <ele>125.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702083333" lon="-17.970472222">
+ <ele>148.800000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.702250000" lon="-17.970666667">
+ <ele>164.800000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.702277778" lon="-17.970805556">
+ <ele>177.000000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.702000000" lon="-17.971222222">
+ <ele>173.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702444444" lon="-17.971305556">
+ <ele>166.200000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.702861111" lon="-17.971500000">
+ <ele>144.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.702388889" lon="-17.971555556">
+ <ele>130.000000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.972055556">
+ <ele>131.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.703027778" lon="-17.972194444">
+ <ele>112.600000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.703055556" lon="-17.972444444">
+ <ele>101.200000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.702750000" lon="-17.972833333">
+ <ele>90.200000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.702750000" lon="-17.973361111">
+ <ele>72.600000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.973583333">
+ <ele>59.400000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.703027778" lon="-17.973583333">
+ <ele>41.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.973138889">
+ <ele>14.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703694444" lon="-17.972861111">
+ <ele>8.800000</ele>
+ <speed>2.305556</speed>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+ <name>1-1-06</name>
+ <desc>TORRE TIME</desc>
+<number>2</number>
+<trkseg>
+<trkpt lat="28.697944444" lon="-17.949222222">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.697916667" lon="-17.949250000">
+ <ele>653.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.949250000">
+ <ele>657.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.949222222">
+ <ele>654.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697750000" lon="-17.949500000">
+ <ele>653.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698194444" lon="-17.949638889">
+ <ele>647.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.698638889" lon="-17.949750000">
+ <ele>646.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.699111111" lon="-17.949750000">
+ <ele>643.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.699361111" lon="-17.949277778">
+ <ele>636.800000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.949805556">
+ <ele>621.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.950222222">
+ <ele>619.800000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.950416667">
+ <ele>618.800000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.950138889">
+ <ele>618.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.950666667">
+ <ele>615.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.951138889">
+ <ele>615.000000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.701277778" lon="-17.951111111">
+ <ele>624.000000</ele>
+ <speed>0.611111</speed>
+</trkpt>
+<trkpt lat="28.701027778" lon="-17.950694444">
+ <ele>623.400000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.701250000" lon="-17.950222222">
+ <ele>640.000000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.701472222" lon="-17.949750000">
+ <ele>644.400000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.701472222" lon="-17.949722222">
+ <ele>652.000000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.701527778" lon="-17.949611111">
+ <ele>656.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701555556" lon="-17.949083333">
+ <ele>655.400000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.702027778" lon="-17.949027778">
+ <ele>665.200000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.701805556" lon="-17.948555556">
+ <ele>677.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.702055556" lon="-17.948111111">
+ <ele>684.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702305556" lon="-17.947638889">
+ <ele>692.200000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.702388889" lon="-17.947111111">
+ <ele>696.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.946611111">
+ <ele>701.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.702777778" lon="-17.946138889">
+ <ele>712.400000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.703055556" lon="-17.945722222">
+ <ele>717.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.945666667">
+ <ele>718.400000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702166667" lon="-17.945861111">
+ <ele>725.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.702000000" lon="-17.945750000">
+ <ele>752.000000</ele>
+ <speed>0.527778</speed>
+</trkpt>
+<trkpt lat="28.702472222" lon="-17.945722222">
+ <ele>745.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702916667" lon="-17.945583333">
+ <ele>735.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702805556" lon="-17.946083333">
+ <ele>727.600000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.946583333">
+ <ele>726.400000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702972222" lon="-17.946194444">
+ <ele>710.600000</ele>
+ <speed>0.500000</speed>
+</trkpt>
+<trkpt lat="28.703250000" lon="-17.945777778">
+ <ele>727.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.945805556">
+ <ele>738.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.945777778">
+ <ele>735.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.945305556">
+ <ele>738.800000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.703694444" lon="-17.944833333">
+ <ele>748.200000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.703944444" lon="-17.944388889">
+ <ele>754.800000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.704027778" lon="-17.943861111">
+ <ele>767.000000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.704444444" lon="-17.943638889">
+ <ele>774.000000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.704750000" lon="-17.943722222">
+ <ele>780.600000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.705111111" lon="-17.943583333">
+ <ele>802.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.705416667" lon="-17.943194444">
+ <ele>802.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.705694444" lon="-17.942777778">
+ <ele>814.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.706111111" lon="-17.942527778">
+ <ele>817.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.705916667" lon="-17.942027778">
+ <ele>826.600000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.705472222" lon="-17.942111111">
+ <ele>835.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.705111111" lon="-17.942472222">
+ <ele>841.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.705055556" lon="-17.941944444">
+ <ele>846.200000</ele>
+ <speed>2.250000</speed>
+</trkpt>
+<trkpt lat="28.704972222" lon="-17.941416667">
+ <ele>855.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.704972222" lon="-17.940888889">
+ <ele>857.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.704916667" lon="-17.940361111">
+ <ele>862.800000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.704916667" lon="-17.939833333">
+ <ele>871.000000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.705055556" lon="-17.939333333">
+ <ele>883.800000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705111111" lon="-17.938805556">
+ <ele>890.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.705222222" lon="-17.938277778">
+ <ele>902.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.705277778" lon="-17.937750000">
+ <ele>906.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.705333333" lon="-17.937222222">
+ <ele>918.600000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.705527778" lon="-17.936750000">
+ <ele>928.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705444444" lon="-17.936222222">
+ <ele>942.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.705500000" lon="-17.935694444">
+ <ele>947.800000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.705527778" lon="-17.935166667">
+ <ele>955.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705666667" lon="-17.934666667">
+ <ele>970.800000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705694444" lon="-17.934138889">
+ <ele>981.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.705722222" lon="-17.933611111">
+ <ele>988.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.705694444" lon="-17.933083333">
+ <ele>1001.400000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.705444444" lon="-17.932638889">
+ <ele>1009.600000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.705277778" lon="-17.932555556">
+ <ele>1013.200000</ele>
+ <speed>1.944444</speed>
+</trkpt>
+<trkpt lat="28.705027778" lon="-17.932111111">
+ <ele>1017.200000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.704583333" lon="-17.931944444">
+ <ele>1010.600000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.704527778" lon="-17.932472222">
+ <ele>1006.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.704111111" lon="-17.932666667">
+ <ele>1006.000000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703805556" lon="-17.933055556">
+ <ele>1009.200000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.703388889" lon="-17.933250000">
+ <ele>1002.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.703027778" lon="-17.933555556">
+ <ele>996.200000</ele>
+ <speed>0.583333</speed>
+</trkpt>
+<trkpt lat="28.702777778" lon="-17.933111111">
+ <ele>992.000000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.932611111">
+ <ele>978.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702166667" lon="-17.932861111">
+ <ele>974.800000</ele>
+ <speed>1.666667</speed>
+</trkpt>
+<trkpt lat="28.701861111" lon="-17.933250000">
+ <ele>974.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.701416667" lon="-17.933361111">
+ <ele>974.400000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.700944444" lon="-17.933388889">
+ <ele>971.000000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.933305556">
+ <ele>969.400000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.933305556">
+ <ele>966.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.933333333">
+ <ele>971.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.933166667">
+ <ele>967.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.932638889">
+ <ele>964.800000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.931805556">
+ <ele>952.800000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.932861111">
+ <ele>1045.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700416667" lon="-17.933916667">
+ <ele>952.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.933222222">
+ <ele>829.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.932250000">
+ <ele>892.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.933000000">
+ <ele>1031.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.933555556">
+ <ele>938.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.932833333">
+ <ele>868.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.931888889">
+ <ele>955.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.932722222">
+ <ele>1050.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.931972222">
+ <ele>948.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.932694444">
+ <ele>1025.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701416667" lon="-17.932055556">
+ <ele>957.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.932583333">
+ <ele>952.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700388889" lon="-17.932333333">
+ <ele>942.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.932111111">
+ <ele>943.800000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.698750000" lon="-17.932194444">
+ <ele>938.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.698388889" lon="-17.931861111">
+ <ele>939.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698194444" lon="-17.932333333">
+ <ele>945.000000</ele>
+ <speed>1.805556</speed>
+</trkpt>
+<trkpt lat="28.697861111" lon="-17.932694444">
+ <ele>950.000000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.697388889" lon="-17.932666667">
+ <ele>961.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.696916667" lon="-17.932666667">
+ <ele>968.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.696638889" lon="-17.932250000">
+ <ele>971.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.696444444" lon="-17.931777778">
+ <ele>967.400000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.696138889" lon="-17.931388889">
+ <ele>966.600000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.696111111" lon="-17.930861111">
+ <ele>961.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.696055556" lon="-17.930333333">
+ <ele>968.800000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.695277778" lon="-17.931305556">
+ <ele>968.000000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.696388889" lon="-17.931111111">
+ <ele>967.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694972222" lon="-17.930861111">
+ <ele>967.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694861111" lon="-17.930361111">
+ <ele>937.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694694444" lon="-17.929861111">
+ <ele>1009.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.694166667" lon="-17.930305556">
+ <ele>1010.000000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.693694444" lon="-17.930277778">
+ <ele>1009.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.693805556" lon="-17.929777778">
+ <ele>996.800000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.693444444" lon="-17.929444444">
+ <ele>1000.600000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.693555556" lon="-17.928944444">
+ <ele>1013.000000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.693500000" lon="-17.928416667">
+ <ele>1013.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.692805556" lon="-17.928000000">
+ <ele>1018.200000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.692750000" lon="-17.927472222">
+ <ele>1017.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.692305556" lon="-17.927638889">
+ <ele>1029.000000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.692250000" lon="-17.928166667">
+ <ele>1028.600000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.691805556" lon="-17.928333333">
+ <ele>1028.600000</ele>
+ <speed>1.722222</speed>
+</trkpt>
+<trkpt lat="28.691444444" lon="-17.928638889">
+ <ele>1034.400000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.691305556" lon="-17.928138889">
+ <ele>1034.400000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.690861111" lon="-17.928250000">
+ <ele>1034.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.690527778" lon="-17.927888889">
+ <ele>1037.000000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.690055556" lon="-17.927916667">
+ <ele>1032.000000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.689638889" lon="-17.927694444">
+ <ele>1024.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.689277778" lon="-17.927333333">
+ <ele>1025.000000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.688833333" lon="-17.927194444">
+ <ele>1022.600000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.688916667" lon="-17.926916667">
+ <ele>1023.000000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.689277778" lon="-17.926611111">
+ <ele>1039.800000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.689361111" lon="-17.926527778">
+ <ele>1056.600000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.689388889" lon="-17.926500000">
+ <ele>1061.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689333333" lon="-17.926527778">
+ <ele>1065.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689361111" lon="-17.926527778">
+ <ele>1056.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689333333" lon="-17.926527778">
+ <ele>1060.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689361111" lon="-17.926527778">
+ <ele>1057.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689194444" lon="-17.926638889">
+ <ele>1058.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.688861111" lon="-17.926944444">
+ <ele>1047.800000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.688888889" lon="-17.927277778">
+ <ele>1045.200000</ele>
+ <speed>0.527778</speed>
+</trkpt>
+<trkpt lat="28.689333333" lon="-17.927361111">
+ <ele>1049.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689694444" lon="-17.927666667">
+ <ele>1030.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.690111111" lon="-17.927916667">
+ <ele>1027.600000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.690583333" lon="-17.927944444">
+ <ele>1033.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.690888889" lon="-17.928333333">
+ <ele>1035.600000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.691305556" lon="-17.928111111">
+ <ele>1030.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.691722222" lon="-17.928305556">
+ <ele>1029.600000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.692166667" lon="-17.928444444">
+ <ele>1029.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.692222222" lon="-17.927888889">
+ <ele>1029.600000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.692583333" lon="-17.927555556">
+ <ele>1030.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.692888889" lon="-17.927972222">
+ <ele>1024.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.693222222" lon="-17.928333333">
+ <ele>1016.600000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.693611111" lon="-17.928611111">
+ <ele>1016.600000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.693500000" lon="-17.929111111">
+ <ele>1016.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.693777778" lon="-17.929527778">
+ <ele>1020.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.693722222" lon="-17.930055556">
+ <ele>1019.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.693972222" lon="-17.930527778">
+ <ele>1019.400000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.693444444" lon="-17.930444444">
+ <ele>1018.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694222222" lon="-17.930388889">
+ <ele>1018.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694583333" lon="-17.930055556">
+ <ele>1018.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694861111" lon="-17.930472222">
+ <ele>1000.200000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.695250000" lon="-17.930750000">
+ <ele>1004.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.695416667" lon="-17.931250000">
+ <ele>1005.600000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.695777778" lon="-17.930944444">
+ <ele>1004.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.695972222" lon="-17.930444444">
+ <ele>987.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.696361111" lon="-17.930722222">
+ <ele>977.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.696250000" lon="-17.931555556">
+ <ele>977.600000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.696611111" lon="-17.931888889">
+ <ele>962.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.696722222" lon="-17.932388889">
+ <ele>962.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.697027778" lon="-17.932777778">
+ <ele>962.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.697500000" lon="-17.932833333">
+ <ele>966.800000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.932750000">
+ <ele>968.600000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.698277778" lon="-17.932388889">
+ <ele>962.200000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.698472222" lon="-17.932055556">
+ <ele>954.400000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.698722222" lon="-17.932222222">
+ <ele>941.200000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.699111111" lon="-17.931944444">
+ <ele>946.000000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.931861111">
+ <ele>933.800000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700000000" lon="-17.932055556">
+ <ele>933.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700333333" lon="-17.932416667">
+ <ele>937.600000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.700888889" lon="-17.932416667">
+ <ele>930.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.932666667">
+ <ele>933.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.932722222">
+ <ele>937.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.933194444">
+ <ele>943.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.933277778">
+ <ele>928.800000</ele>
+ <speed>0.611111</speed>
+</trkpt>
+<trkpt lat="28.700916667" lon="-17.933361111">
+ <ele>944.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700888889" lon="-17.933333333">
+ <ele>959.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.933361111">
+ <ele>957.000000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.701222222" lon="-17.933583333">
+ <ele>963.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701666667" lon="-17.933416667">
+ <ele>967.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.702083333" lon="-17.933222222">
+ <ele>961.400000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.702388889" lon="-17.932833333">
+ <ele>960.800000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.702805556" lon="-17.933083333">
+ <ele>964.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.702944444" lon="-17.933583333">
+ <ele>964.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.703194444" lon="-17.934027778">
+ <ele>967.800000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.703472222" lon="-17.934444444">
+ <ele>975.400000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.703833333" lon="-17.934138889">
+ <ele>971.000000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703833333" lon="-17.934750000">
+ <ele>961.800000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.704027778" lon="-17.935222222">
+ <ele>958.400000</ele>
+ <speed>1.666667</speed>
+</trkpt>
+<trkpt lat="28.704111111" lon="-17.935750000">
+ <ele>952.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.704361111" lon="-17.936194444">
+ <ele>945.400000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.704777778" lon="-17.936388889">
+ <ele>940.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.704472222" lon="-17.936861111">
+ <ele>938.800000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.704000000" lon="-17.936861111">
+ <ele>911.000000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.703833333" lon="-17.936361111">
+ <ele>918.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703583333" lon="-17.936805556">
+ <ele>920.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.703305556" lon="-17.937222222">
+ <ele>914.800000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702861111" lon="-17.937361111">
+ <ele>911.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702500000" lon="-17.937694444">
+ <ele>900.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.702111111" lon="-17.937972222">
+ <ele>896.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.701638889" lon="-17.937972222">
+ <ele>891.600000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.701194444" lon="-17.937861111">
+ <ele>884.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700888889" lon="-17.937472222">
+ <ele>882.200000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.701000000" lon="-17.936972222">
+ <ele>883.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.936611111">
+ <ele>879.600000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.700194444" lon="-17.936694444">
+ <ele>880.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.936694444">
+ <ele>883.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.937111111">
+ <ele>885.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.699000000" lon="-17.937194444">
+ <ele>870.200000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.698555556" lon="-17.937027778">
+ <ele>860.400000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.698138889" lon="-17.937277778">
+ <ele>863.200000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.698583333" lon="-17.937388889">
+ <ele>856.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.937861111">
+ <ele>843.400000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.698944444" lon="-17.938361111">
+ <ele>839.000000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.699388889" lon="-17.938277778">
+ <ele>833.200000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.699750000" lon="-17.937944444">
+ <ele>828.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.699805556" lon="-17.938472222">
+ <ele>828.600000</ele>
+ <speed>1.611111</speed>
+</trkpt>
+<trkpt lat="28.699888889" lon="-17.939000000">
+ <ele>827.400000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700000000" lon="-17.939500000">
+ <ele>820.600000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.940000000">
+ <ele>806.600000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.700111111" lon="-17.940527778">
+ <ele>810.800000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.941027778">
+ <ele>806.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.941555556">
+ <ele>805.000000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.942055556">
+ <ele>802.200000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.942138889">
+ <ele>797.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.942583333">
+ <ele>793.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.700916667" lon="-17.943111111">
+ <ele>785.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.943611111">
+ <ele>777.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.944027778">
+ <ele>778.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.700361111" lon="-17.944527778">
+ <ele>776.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700333333" lon="-17.945055556">
+ <ele>780.200000</ele>
+ <speed>1.666667</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.945555556">
+ <ele>785.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.945750000">
+ <ele>782.200000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.701305556" lon="-17.945638889">
+ <ele>773.600000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.701555556" lon="-17.945194444">
+ <ele>772.000000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.701888889" lon="-17.945555556">
+ <ele>777.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.702250000" lon="-17.945861111">
+ <ele>759.600000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.945666667">
+ <ele>753.600000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702750000" lon="-17.946194444">
+ <ele>754.800000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702527778" lon="-17.946666667">
+ <ele>742.600000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.702333333" lon="-17.947138889">
+ <ele>735.800000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702250000" lon="-17.947666667">
+ <ele>727.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702000000" lon="-17.948111111">
+ <ele>722.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.701750000" lon="-17.948555556">
+ <ele>719.400000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.702083333" lon="-17.948916667">
+ <ele>710.400000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.701611111" lon="-17.948972222">
+ <ele>688.800000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.701500000" lon="-17.949472222">
+ <ele>677.400000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.701361111" lon="-17.949972222">
+ <ele>671.600000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.950416667">
+ <ele>664.200000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.701138889" lon="-17.950944444">
+ <ele>655.200000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.950944444">
+ <ele>648.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.950472222">
+ <ele>622.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.950305556">
+ <ele>615.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699750000" lon="-17.950027778">
+ <ele>620.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.949666667">
+ <ele>618.000000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.698972222" lon="-17.949777778">
+ <ele>620.800000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.949722222">
+ <ele>624.400000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.698055556" lon="-17.949555556">
+ <ele>626.200000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.697861111" lon="-17.949083333">
+ <ele>634.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+ <name>2-1-06</name>
+ <desc>TAZACORTE</desc>
+<number>3</number>
+<trkseg>
+<trkpt lat="28.663388889" lon="-17.942472222">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.663444444" lon="-17.942444444">
+ <ele>518.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.663444444" lon="-17.942444444">
+ <ele>525.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.663805556" lon="-17.942500000">
+ <ele>530.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.663527778" lon="-17.942916667">
+ <ele>530.800000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.663055556" lon="-17.942916667">
+ <ele>507.000000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.662583333" lon="-17.942916667">
+ <ele>509.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.662138889" lon="-17.943027778">
+ <ele>507.800000</ele>
+ <speed>2.638889</speed>
+</trkpt>
+<trkpt lat="28.661694444" lon="-17.943194444">
+ <ele>495.200000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.661250000" lon="-17.943333333">
+ <ele>492.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.660805556" lon="-17.943472222">
+ <ele>486.200000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.660361111" lon="-17.943583333">
+ <ele>478.800000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.659888889" lon="-17.943555556">
+ <ele>464.400000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.659638889" lon="-17.943500000">
+ <ele>454.200000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.659250000" lon="-17.943777778">
+ <ele>457.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.658861111" lon="-17.944055556">
+ <ele>432.400000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.658472222" lon="-17.944333333">
+ <ele>415.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.658333333" lon="-17.944833333">
+ <ele>406.000000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.658777778" lon="-17.945000000">
+ <ele>392.600000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.658916667" lon="-17.945500000">
+ <ele>390.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.658555556" lon="-17.945833333">
+ <ele>377.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.658194444" lon="-17.946194444">
+ <ele>368.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.657916667" lon="-17.946611111">
+ <ele>351.400000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.657611111" lon="-17.947000000">
+ <ele>341.000000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.657194444" lon="-17.947194444">
+ <ele>331.400000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.652027778" lon="-17.946500000">
+ <ele>328.000000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.649722222" lon="-17.946305556">
+ <ele>327.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+</trkseg>
+</trk>
+</gpx>